package cn.wen.yaling.commons.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 
 * 
 * @author FY
 * @email 932043654@qq.com
 * @date 2022-08-13 02:07:37
 */
@Data
@TableName("y_web_visit")
public class WebVisitEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 唯一ID
	 */
	@TableId(value = "id", type = IdType.AUTO)
	private Integer id;

	/**
	 * 用户ID
	 */
	private Integer userId;

	/**
	 * 用户IP
	 */
	private String ip;

	/**
	 * ip来源
	 */
	private String ipSource;

	/**
	 * 操作系统
	 */
	private String os;

	/**
	 * 浏览器
	 */
	private String browser;

	/**
	 * 用户访问行为   (点击了文章，点击了标签，点击了分类，进行了搜索)
	 */
	private String behavior;

	/**
	 * 文章id，标签id，分类id
	 */
	private Integer moduleId;

	/**
	 * 附加数据(比如搜索内容)
	 */
	private String otherData;


	// 以下字段不存入数据库

	/**
	 * 内容(点击的博客名，点击的标签名，搜索的内容，点击的作者)
	 */
	@TableField(exist = false)
	private String content;

	/**
	 * 行为名称
	 */
	@TableField(exist = false)
	private String behaviorContent;

	/**
	 * 状态 0：失效  1：生效
	 */
	private int status;

	/**
	 * @TableField 配置需要填充的字段
	 * 创建时间
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@TableField(fill = FieldFill.INSERT_UPDATE)
	private Date createTime;

	/**
	 * 更新时间
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@TableField(fill = FieldFill.INSERT_UPDATE)
	private Date updateTime;

}
